// CppUnit-Tutorial
// Datei: bruchtest.h
#ifndef BRUCHTEST_H
#define BRUCHTEST_H

#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include "../include/array.h"

using namespace std;
using namespace oal;

class testArray : public CPPUNIT_NS :: TestFixture
{
	CPPUNIT_TEST_SUITE (testArray);
	CPPUNIT_TEST (testMakeInstance);
	CPPUNIT_TEST (testSetEntry);
	CPPUNIT_TEST (testSetAndGetEntry);
	CPPUNIT_TEST (testSetAndGetEntryInArray);
	CPPUNIT_TEST (testSetAndGetEntryInBigArray);
	CPPUNIT_TEST (testSetAndGetEntryInManyArrays);
	CPPUNIT_TEST (testToStringWithOneEntry);
	CPPUNIT_TEST (testToStringWithTwoEntry);
	CPPUNIT_TEST (testToStringWithManyArrays);
	CPPUNIT_TEST (testFromStringWithOneEntry);
	CPPUNIT_TEST (testFromStringWithTwoEntry);
	CPPUNIT_TEST (testFromStringWithManyArrays);
	CPPUNIT_TEST (testIsEmptyWithNotEmptyArrayReturnsFalse);
	CPPUNIT_TEST (testIsEmptyWithEmptyArrayReturnsTrue);
	CPPUNIT_TEST (testKeyFromArrayReturnsTestkey);
	CPPUNIT_TEST (testCopyArrayWithNewData);
	CPPUNIT_TEST_SUITE_END();

	public:
		void setUp (void);
		void tearDown (void);

	protected:
		void testMakeInstance(void);
		void testSetEntry(void);
		void testSetAndGetEntry(void);
		void testSetAndGetEntryInArray(void);
		void testSetAndGetEntryInBigArray(void);
		void testSetAndGetEntryInManyArrays(void);
		void testToStringWithOneEntry(void);
		void testToStringWithTwoEntry(void);
		void testToStringWithManyArrays(void);
		void testFromStringWithOneEntry(void);
		void testFromStringWithTwoEntry(void);
		void testFromStringWithManyArrays(void);
		void testIsEmptyWithNotEmptyArrayReturnsFalse(void);
		void testIsEmptyWithEmptyArrayReturnsTrue(void);
		void testKeyFromArrayReturnsTestkey(void);
		void testCopyArrayWithNewData(void);
	private:

};

#endif
